package com.gzcstec.order.utils;

import com.gzcstec.order.enums.ResultEnums;
import com.gzcstec.order.vo.ResultVO;

/**
 * api结果返回工具类
 */
public class ResultUtils {

    private ResultUtils(){}

    /**
     * 成功返回
     * @param data 成功返回的数据内容
     * @return ResultVO
     */
    public static ResultVO success(Object data) {
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(ResultEnums.OK.getCode());
        resultVO.setMsg(ResultEnums.OK.getMessage());
        resultVO.setData(data);
        return resultVO;
    }

    /**
     * 成功返回
     * @return ResultVO
     */
    public static ResultVO success() {
        return success(null);
    }

    /**
     * 失败返回
     * @param code 状态码
     * @param message 状态信息
     * @return ResultVO
     */
    public static ResultVO error(Integer code , String message) {
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(code);
        resultVO.setMsg(message);
        return resultVO;
    }

    /**
     * 失败返回
     * @param resultEnums 状态类
     * @return ResultVO
     */
    public static ResultVO error(ResultEnums resultEnums) {
        return error(resultEnums.getCode() , resultEnums.getMessage());
    }
}
